// 封装倒计时逻辑函数
import { ref, computed, onUnmounted } from 'vue'
import dayjs from 'dayjs'

// 倒计时逻辑函数
const useCountDown = () => {
    // 返回响应数据
    const time = ref(0)

     // 返回时间
     const formatTime = computed(() => dayjs.unix(time.value).format('mm分:ss秒')
    )

    // 定时器
    const timer = ref(null)

    // 开启倒计时函数
    const start = (currentTime) => {
        // 倒计时逻辑
        // 每隔一秒，数据减一
        time.value = currentTime
        // 清除之前的定时器
        timer.value && clearInterval(timer.value)
        timer.value = setInterval(() => {
            time.value--
        }, 1000)
    }

    // 组销毁时清除定时器
    onUnmounted(() => {
        timer.value && clearInterval(timer.value)
    })

    

    return {
        formatTime, start
    }
}


export default useCountDown